# Author:chensimin

stu_id = [10001,10002,10001,10003,10004,10002,10001]
# 如何取出所有位置10001的index?
names = ["xiaoming","xiaohong","xiaomin"]

#列表的私有方法
## 1.1 增加append() 增加在list的末尾
# name.append(1)
# print(names)
# append()圆括号的内容是对象（比较大的一个范围，python中一切皆是对象）

## 1.2插入insert() 指定位置新增数据
names.insert(1,"yiyi")#第一个参数的数据类型为int，确定插入的位置，第二个插入参数为str,是新增的数据
print(names)

# 1.3 extend()合并两个列表
names_list.extend(names)#a.extend(b) 将b列表合并至a列表
print('names_list:')
print(names_list)

# 2.删除 remove和pop
# 2.1 优势：如果删除list中多个元素时，remove比较合适
# 要先了解list的长度？seq一般方法 len()
# pop与remove的区别：pop通过确定数据的索引值来删除数据，remove通过确定列表中第一个数据的值来删除数据
# remove()一般情况下 使用remove先用in做判断
print(len(names))
print('names:',names)
names.pop(2)
print('删除序列2后的names:',names)

#2.2 pop() 删除位置为1的这个元素
# names.pop(-1)
# print("pop()方法后的names:",names)

#3 索引：index()
print('index()方法的返回值：', names.index('Jan'))#参数为列表中的value,返回结果为列表的索引(排序)

# 4 清空数据：clear
## 使用clear后清空列表中的所有数据
# names.clear()
# print("清除names列表后的值；”，names)

# 5 count()统计
 names_count = ['ti', 'ni', 'ti', 'ti']
 print("列表数值为：",names_count)
 print('将count()参数设为last的返回值',names_count.count('lasr'))#统计count输入参数在该列表中总共出现的次数

# 6. copy()
names1 = ['xiao','da','xi']
names2 = names1
names3 = names1.copy()
names1.pop(1)
print('names1',names1)
print('names2',names2)
print('names3',names3)
#从中可看出，赋值为浅层拷贝，names2直接引用了names1对象，names2会随着names1的更改而更改，names3则是深拷贝，创建了一个独立于names1的列表

